# GraphQL API reference

[GraphQL API][ref-graphql-api] supports the following requests and parameters.

## `cube`

```graphql
query {
  cube [([cubeQueryArgs])] {
    <cubeName> [([cubeArgs])] {
      <cubeMember>
    }
  }
}
```

| Key             | Schema                              | Description                                |
| --------------- | ----------------------------------- | ------------------------------------------ |
| `cubeQueryArgs` | [`CubeQueryArgs`](#cube-query-args) | Options that apply to the entire query     |
| `cubeArgs`      | [`CubeArgs`](#cube-args)            | Options that apply only to a specific cube |

## `CubeQueryArgs`

- **`where` ([`RootWhereInput`](#root-where-input)):** Represents a SQL `WHERE` clause.
- **`limit` (`Int`):** A [row limit][ref-row-limit] for your query.
- **`offset` (`Int`):** The number of initial rows to be skipped for your query. The default value is `0`.
- **`timezone` (`String`):** The [time zone][ref-time-zone] for your query. You can set the
desired time zone in the [TZ Database Name](https://en.wikipedia.org/wiki/Tz_database)
format, e.g., `America/Los_Angeles`.
- **`renewQuery` (`Boolean`):** If `renewQuery` is set to `true`, Cube will renew all `refreshKey` for queries and query results in the foreground. The default value is `false`.
- **`ungrouped` (`Boolean`):** If set to `true`, Cube will run an
[ungrouped query][ref-ungrouped-query].


## `RootWhereInput`

| Key          | Schema                                   | Description |
| ------------ | ---------------------------------------- | ----------- |
| `AND`        | [`[RootWhereInput!]`](#root-where-input) |             |
| `OR`         | [`[RootWhereInput!]`](#root-where-input) |             |
| `<cubeName>` | [`CubeWhereInput`](#cube-where-input)    |             |

## `CubeArgs`

| Key       | Schema                                | Description |
| --------- | ------------------------------------- | ----------- |
| `where`   | [`CubeWhereInput`](#cube-where-input) |             |
| `orderBy` | `CubeOrderByInput`                    |             |

## `CubeWhereInput`

| Key            | Schema                                   | Description |
| -------------- | ---------------------------------------- | ----------- |
| `AND`          | [`[RootWhereInput!]`](#root-where-input) |             |
| `OR`           | [`[RootWhereInput!]`](#root-where-input) |             |
| `<cubeMember>` | [`Filter`](#filter)                      |             |

## `CubeOrderByInput`

| Key            | Schema                 | Description |
| -------------- | ---------------------- | ----------- |
| `<cubeMember>` | [`OrderBy`](#order-by) |             |

## `Filter`

[`DateTimeFilter`](#date-time-filter) | [`FloatFilter`](#float-time-filter) |
[`StringFilter`](#string-time-filter)

## `DateTimeFilter`

| Key              | Schema     | Description |
| ---------------- | ---------- | ----------- |
| `equals`         | `String`   |             |
| `notEquals`      | `String`   |             |
| `in`             | `[String]` |             |
| `notIn`          | `[String]` |             |
| `inDateRange`    | `[String]` |             |
| `notInDateRange` | `[String]` |             |
| `beforeDate`     | `String`   |             |
| `afterDate`      | `String`   |             |
| `set`            | `Boolean`  |             |

## `FloatFilter`

| Key         | Schema    | Description |
| ----------- | --------- | ----------- |
| `equals`    | `Float`   |             |
| `notEquals` | `Float`   |             |
| `in`        | `[Float]` |             |
| `notIn`     | `[Float]` |             |
| `set`       | `Boolean` |             |

## `StringFilter`

| Key           | Schema     | Description |
| ------------- | ---------- | ----------- |
| `equals`      | `String`   |             |
| `notEquals`   | `String`   |             |
| `in`          | `[String]` |             |
| `notIn`       | `[String]` |             |
| `contains`    | `String`   |             |
| `notContains` | `String`   |             |
| `set`         | `Boolean`  |             |

## `OrderBy`

`asc` | `desc`

[ref-graphql-api]: /product/apis-integrations/graphql-api
[ref-row-limit]: /product/apis-integrations/queries#row-limit
[ref-time-zone]: /product/apis-integrations/queries#time-zone
[ref-ungrouped-query]: /product/apis-integrations/queries#ungrouped-query